/*
 * 兔子生崽问题（4分）
 */

#include <stdio.h>

int main() {
	setbuf(stdout, NULL);

	int n;
	int a1 = 1, a2 = 1, b1 = 0, b2 = 1, pairs = 0;
	int temp;

	printf("Input n(n<=12):\n");
	scanf("%d", &n);

	if (n == 1) {
		pairs = a1 + b1;
		printf("%4d", pairs);
	} else {
		for (int i = 0; i < n; ++i) {
			if (i == 0) {
				// STEP: 输出第1月的兔子对数情况
				pairs = a1 + b1;
				printf("%4d", pairs);
				continue;
			} else if (i == 1) {
				// STEP: 输出第2月的兔子对数情况
				pairs = a2 + b2;
				printf("%4d", pairs);
				continue;
			} else {
				// STEP: 步进大兔的当月数量
				temp = a2;
				a2 += a1;
				a1 = temp;
				// STEP: 步进小兔的当月数量
				temp = b2;
				b2 += b1;
				b1 = temp;
				// STEP: 更新当月兔子的总对数
				pairs = a2 + b2;
				// STEP: 输出当月的兔子对数情况
				printf("%4d", pairs);
			}
		}
	}

	printf("\nTotal=%d\n", pairs);

	return 0;
}